package com.jeesite.modules.digitalize.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * (DigitalizePlanDetail)表实体类
 *
 * @author mxz
 * @since 2023-11-13 17:56:00
 */
@Data
@Accessors(chain = true)
public class DigitalizePlanDetail extends BaseDBEntity {

    @ApiModelProperty("构建id")
    private Long componentId;
    
    private String componentName;
    @ApiModelProperty("计划id")    
    private Long planId;
    @ApiModelProperty("任务名")    
    private String name;
    @ApiModelProperty("计划开始时间")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date planStartDate;
    @ApiModelProperty("计划结束时间")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date planEndDate;
    @ApiModelProperty("实际开始时间")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date startDate;
    @ApiModelProperty("实际结束时间")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date endDate;
    @ApiModelProperty("预警时间 前n天")    
    private Integer warnDay;
    @ApiModelProperty("父级id")    
    private Long parentId;
    @ApiModelProperty("当前层级顺序")    
    private Integer sequence;
    @ApiModelProperty("0 正常 1 删除")
    private Integer delStatus = 0;

    @TableField(exist = false)
    @ApiModelProperty("层级信息 1,2    1,1   2,3,1  (不存在数据库)")
    private String level;

    @ApiModelProperty("分派任务id")
    private Long taskId;

    @ApiModelProperty("分派任务名")
    private String taskName;

    @ApiModelProperty("关联构件idList 字符串")
    private String componentIdList;

    @ApiModelProperty("生长方向")
    private String growth;

    @ApiModelProperty("动画时间")
    private String animationTime;

    @TableField(exist = false)
    @ApiModelProperty("子级列表  (不存在数据库)")
    private List<DigitalizePlanDetail> childrenList;

    @TableField(exist = false)
    @ApiModelProperty("责任人姓名")
    private String userName;

    @TableField(exist = false)
    @ApiModelProperty("工期")
    private Integer duration;
}

